/**
 * 
 */
package com.framework.res;

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * @author IDADYOU
 * 
 */
public class EnviarMail {

	public static boolean send(String body, String mailTo,
			String nombre_ie, String title, String mailFrom, String password) {
		// Se debe crear un archivo de propiedades que
		// contenga el nombre del servidor SMTP
		try {
			Properties props = new Properties();
			/*props.put("mail.smtp.host", "mail.softcomputo.com.co");
			props.put("mail.smtp.auth", "true");*/
			//props.setProperty("mail.smtp.host", "mail.softcomputo.com.co");
			props.setProperty("mail.smtp.host", "smtp.gmail.com");
			// TLS si está disponible
			props.setProperty("mail.smtp.starttls.enable", "true");
			// Puerto de gmail para envio de correos
			props.setProperty("mail.smtp.port","587");
			props.setProperty("mail.smtp.user", mailFrom);
			props.setProperty("mail.smtp.auth", "true");
			Session session = Session.getDefaultInstance(props);
			//Session session = Session.getInstance(props, auth);

			//SMTPAuthentication auth = new SMTPAuthentication();
			
			Message msg = getMessage(session, mailFrom,
					mailTo, body, nombre_ie, title);
			//System.out.println("Enviando ...");
			Transport t = session.getTransport("smtp");
			t.connect(mailFrom,password);
			t.sendMessage(msg,msg.getAllRecipients());
			System.out.println("Msj error Enviado");
			//Transport.send(msg);
			//System.out.println("mensaje enviado");
		} catch (MessagingException ex) {
			System.out.println("Error al enviar MSJ " + ex.getMessage());
			Logger.getLogger(EnviarMail.class.getName()).log(Level.SEVERE,null, ex);
			return false;
		}
		return true;
	}

	private static MimeMessage getMessage(Session session, String from,
			String to, String mensaje, String Empresa, String title) {
		try {
			MimeMessage msg = new MimeMessage(session);
			msg.setText(mensaje.toString(), "ISO-8859-1", "html");
			msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
			msg.setFrom(new InternetAddress(from, Empresa));
			msg.setSubject("" + title);
			return msg;
		} catch (Exception e) {
			
			return null;
		}
	}

}
